<!DOCTYPE HTML>
<html>

<head>
    <meta charset="utf-8">
    <meta name="renderer" content="webkit|ie-comp|ie-stand">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
    <meta http-equiv="Cache-Control" content="no-siteapp" />
    <!--[if lt IE 9]>
<script type="text/javascript" src="/admin/lib/html5shiv.js"></script>
<script type="text/javascript" src="/admin/lib/respond.min.js"></script>
<![endif]-->
    <link rel="stylesheet" type="text/css" href="/admin/static/h-ui/css/H-ui.css" />
    <link rel="stylesheet" type="text/css" href="/admin/static/h-ui.admin/css/H-ui.admin.css" />
    <link rel="stylesheet" type="text/css" href="/admin/lib/Hui-iconfont/1.0.8/iconfont.css" />
    <link rel="stylesheet" type="text/css" href="/admin/static/h-ui.admin/skin/default/skin.css" id="skin" />
    <link rel="stylesheet" type="text/css" href="/admin/static/h-ui.admin/css/style.css" />
    <!--[if IE 6]>
<script type="text/javascript" src="/admin/lib/DD_belatedPNG_0.0.8a-min.js" ></script>
<script>DD_belatedPNG.fix('*');</script>
<![endif]-->
    <title></title>
</head>

<body>
    <nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页 <span class="c-gray en">&gt;</span> 管理员管理 <span class="c-gray en">&gt;</span>        权限管理 <a class="btn btn-primary radius r" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);"
            title="刷新"><i class="Hui-iconfont">&#xe68f;</i></a>
    </nav>
    <div class="page-container">
        <div class="cl pd-5 bg-1 bk-gray">
            <span class="">
                <a href="javascript:;" onclick="admin_auth_auto_add()" class="btn btn-primary radius"><i class="Hui-iconfont">&#xe600;</i> 自动添加权限</a>
                <a href="javascript:;" onclick="admin_auth_add('添加权限','/{{config('constant.name_admin')}}/auth/add','','310')" class="btn btn-primary radius"><i class="Hui-iconfont">&#xe600;</i> 添加权限</a>
            </span>
        </div>
        <div class="mt-20">
            <table class="table table-border table-bordered table-hover table-bg" id="datatable">
                <thead>
                    <tr class="text-c">
                        {{-- <th width="25"><input type="checkbox" name="" value=""></th> --}}
                        <th>ID</th>
                        <th>权限名称</th>
                        <th>权限URL</th>
                        <th>父ID</th>
                        <th>排序</th>
                        <th>操作</th>
                    </tr>
                </thead>
            </table>
        </div>
    </div>
    <!--_footer 作为公共模版分离出去-->
    <script type="text/javascript" src="/admin/lib/jquery/1.9.1/jquery.min.js"></script>
    <script type="text/javascript" src="/admin/lib/layer/3.1.1/layer.js"></script>
    <script type="text/javascript" src="/admin/static/h-ui/js/H-ui.min.js"></script>
    <script type="text/javascript" src="/admin/static/h-ui.admin/js/H-ui.admin.js"></script>
    <!--/_footer 作为公共模版分离出去-->

    <!--请在下方写此页面业务相关的脚本-->
    <script type="text/javascript" src="/admin/lib/datatables/1.10.0/jquery.dataTables.min.js"></script>
    <script type="text/javascript">
var table;
$(function(){
    $.fn.dataTable.ext.errMode = 'throw';//datatable抛异常的方式，在console中输出，默认以alert的方式弹出
    table = $('#datatable').DataTable({
        // pageLength: 3,
        // dom: "it" + 
        // "< 'row'p>",
        // lengthChange: !1,
        "deferRender": true,//延迟渲染速度
        "ordering": false, // 是否排序
        ajax: "/{{config('constant.name_admin')}}/auth/index",
        "processing" : true,//加载数据时候是否显示进度条
        language: { url: '/admin/lib/datatables/dataTables_Chinese_Lang.json' },
        columns: [
            { data : "id", class:"text-c" },//id
            { data :  null },               //auth_name
            { data : "url" },               //url
            { data : "pid", class:"text-c" }, 
            { data : "sort", class:"text-c" }, 
            { data : null, class:"text-c" }//操作
        ],
        columnDefs: [
            {
                // auth_name
                targets: 1,
                render: function(data, type, row, meta) {
                    if (row.level==0) {
                        return '<strong style="font-size: 15px">' + row.auth_name + '</strong>';
                    } else if (row.level==1) {
                        return '<strong style="font-size: 13px">' + str_repeat('---| ',row.level) + row.auth_name + '</strong>';
                    }else{
                        return str_repeat('---| ',row.level) + row.auth_name;
                    }
                }
            },
            {
                // pid
                targets: 3,
                render: function(data, type, row, meta) {
                    return 'pid'+data;
                }
            },
            {
                //操作
                targets: 5,
                render: function(data, type, row, meta) {
                    return '<a class="ml-5 btn btn-primary-outline radius size-MINI" href="javascript:;" onclick="admin_auth_edit(\'修改权限\',\'/{{config('constant.name_admin')}}/auth/edit\',\'' + row.id + '\')">修改</a>' +
                    ' <a href="javascript:;" onclick="del(' + row.id + ')" class="ml-5 btn btn-danger-outline radius size-MINI">删除</a>';
                }
            }
        ]
    });


    /*  draw  在表格完成绘制后触发*/
    table.on( 'draw', function () {
        var info = table.page.info();
        //如果最后一页仅剩一条记录，而且不是在第一页
        if((info.start == info.end) && info.end > 1){
            //跳转到上一页
            $('#datatable_previous').click();
        }
    });
    // setInterval( function () {
    //     table.ajax.reload(null, false);
    // }, 3000 );
});

/*重复输出一个字符串*/
function str_repeat(string, times) {
  var res = "";
  for(var i = 0; i < times ;i++) {
    res += string;
  }
  return res;
}

/*表格重新加载*/
function table_reload(bool){
    //清除表头 CheckBox的对勾
    $("#datatable").find("thead").find("input[type=checkbox]").removeAttr('checked');
    if(bool){
        //true时，跳到第一页
        table.ajax.reload(); 
    }else{
        //false时，停留在原来页
        table.ajax.reload(null, false);
    }
}

        /*
	参数解释：
	title	标题
	url		请求的url
	id		需要操作的数据id
	w		弹出层宽度（缺省调默认值）
	h		弹出层高度（缺省调默认值）
*/
/*管理员-权限-自动添加*/
function admin_auth_auto_add(){
    var index2;

	index1=layer.confirm('确认要自动添加权限吗？',function(index){
		$.ajax({
			type: 'GET',
			url: '/{{config('constant.name_admin')}}/auth/autoAdd',
			// dataType: 'json',
			success: function(data){
                //判断添加结果 
                if(data === '1'){ 
                    table_reload(0);//0停留在当前页，1回到第一页
                    layer.msg('添加成功!',{ icon: 1, time:1500,shade: 0.1});
                }else if(data === '2'){
                    layer.msg('没有发现新数据!',{ icon: 6, time:2000 });
                }
                else{
                    layer.msg('添加失败!', { icon: 2, time: 2000 }); 
                } 
                
			},
			error:function(data) {
                ajax_error(data);
            },
            beforeSend : function () { 
                //0.4透明度 白色遮罩
                index2 = layer.load(2,{ shade: [0.05,'#000'] }); 
            },
            complete : function () { 
                layer.close(index1); 
                layer.close(index2); 
            },
		});		
	});
}
/*管理员-权限-添加*/
function admin_auth_add(title,url,w,h){
	layer_show(title,url,w,h);
    
}
/*管理员-权限-编辑*/
function admin_auth_edit(title,url,id,w,h){
    layer_show(title,url + '?id=' + id,w,h);
}

/*管理员-权限-删除*/
function del(id){
    var index2;

	layer.confirm('确认要删除吗？',function(index){
		$.ajax({
			type: 'GET',
			url: '/{{config('constant.name_admin')}}/auth/del' + '?id=' + id,
			// dataType: 'json',
			success: function(data){
                if(data === '1'){
                    table_reload(0);//0停留在当前页，1回到第一页
                    layer.msg('删除成功!',{icon:1,time:2000});
                }
			},
			error:function(data) {
                ajax_error(data);
            },
            beforeSend : function () { 
                //0.4透明度 白色遮罩
                index2 = layer.load(2,{ shade: [0.05,'#000'] }); 
            },
            complete : function () { 
                layer.close(index2); 
            },
		});		
	});
}
    </script>
</body>

</html>